package com.hanhai.material.wages.entity;

import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 *  实体类。
 *
 * @author youchuang
 * @since 2023/10/25 17:34:51
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(value = "ding_compensatory_leave_record")
public class DingCompensatoryLeaveRecord implements Serializable {

    /**
     * 员工调休假记录
     */
    @Id
    private String id;

    /**
     * 用户ID
     */
    private String userId;

    /**
     * 假期类型唯一DI
     */
    private String leaveCode;

    /**
     * 假期消费记录ID
     */
    private String recordId;

    /**
     * 假期额度Id
     */
    private String quotaId;

    /**
     * 额度有效期开始时间
     */
    private Timestamp startTime;

    /**
     * 额度有效期结束时间
     */
    private Timestamp endTime;

    /**
     * 显示单位：day/hour
     */
    private String leaveViewUnit;

    /**
     * 计算类型：insert:新纪录，add:新增，delete:删除，update：更新
     */
    private String calType;

    /**
     * 原因
     */
    private String leaveReason;

    /**
     * 请假状态 init：请假申请中 success：请假并已通过 refuse：请假但被被拒 abort：请假撤销 revoke：请假已通过但是撤销了请假并已同意
     */
    private String leaveStatus;

    /**
     * 假期记录类型 leave：请假 update：更新配额  modify_quota:初始化余额或者更新余额
     */
    private String leaveRecordType;

    /**
     * 以天计算的消费额度
     */
    private BigDecimal recordNumPerDay;

    /**
     * 以小时计算的消费额度
     */
    private BigDecimal recordNumPerHour;

    /**
     * 创建日期
     */
    private Timestamp createTime;

    /**
     * 创建人
     */
    private String createUserId;

}
